home *** CD-ROM | disk | FTP | other *** search
- /*
- File: FWXdrag.h
-
- Contains: Definitions for FireWire Exchange application.
-
- Version: 1.0
-
- Written by: Jay Lloyd
-
- Copyright: © 1996-1998 by Apple Computer, Inc., all rights reserved.
-
- File Ownership:
-
- DRI: Jay Lloyd
-
- Other Contact:
-
- Technology: FireWire
-
- Writers:
-
- (jkl) Jay Lloyd
-
- Change History (most recent first):
-
- <11> 1/15/98 jkl Update for new headers.
- <FW10> 5/7/97 jkl Updated list data structures to be double linked lists.
- <FW9> 3/18/97 jkl Added definitions for icon and name drqag hiliting.
- <FW8> 2/27/97 jkl Updated grid spacing for better scrolling support.
- <FW7> 2/21/97 jkl Modified grid constants for sender window icon placement.
- <FW6> 2/6/97 ES Added list of nodes we've opened to the WindowData record.
- <FW5> 1/27/97 jkl Added a timer task record and send items precheck list to the
- receive node record.
- <FW4> 1/16/97 jkl Added user interface features for alpha candidate. Added scroll
- bars and windowView to window data. Modified sizes and spacing
- for window icons.
- <FW3> 1/8/97 ES Changed to use FWX nodes instead of FWX drivers.
- <FW2> 11/13/96 jkl Added receive node name to receiver record.
- <FW1> 10/2/96 jkl initial check-in
- */
-
- #ifndef __FWXDRAG__
- #define __FWXDRAG__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- // My AppleEvent ID defs
- enum
- {
- kPrivateEventClass = 'Sprv',
- kAEFileSpecList = 'FSpL',
- kAEFSSpecKey = 'FSpK',
- kAEFSSpecCountKey = 'FSpC'
- };
-
- // drag handling constants
- enum
- {
- kNoSpace = -1,
- kHiliteInit = 1,
- kHiliteOn = 2,
- kHiliteOff = 3,
- kHiliteDispose = 4
- };
-
- // icon drawing constants
- enum
- {
- kLargeIconFill = 32,
- kLargeHFill = 48,
- kLargeHSize = 128,
- kLargeVFill = 9,
- kLargeVSize = 64,
- kLargeRowCount = 5,
-
- kSmallIconFill = 16,
- kSmallHFill = 20,
- kSmallHSize = 170,
- kSmallVFill = 10,
- kSmallVSize = 24,
- kSmallRowCount = 10,
-
- kLargeIconView = 1,
- kSmallIconView = 2
- };
-
- typedef struct OpenNodeRecord OpenNodeRecord,
- *OpenNodePtr;
- struct OpenNodeRecord
- {
- OpenNodePtr pNextNode, // keeps the node list
- pPreviousNode;
- FWXNodeID nodeID; // firewire node id
- };
-
- typedef struct RecvNodeRecord RecvNodeRecord,
- *RecvNodePtr;
- struct RecvNodeRecord
- {
- RecvNodePtr pNextNode, // keeps list of nodes
- pPreviousNode;
- Rect recvNodeIconRect; // Rect for node drag detection
- Rect recvNodeTextRect; // Rect for node drag detection
- FWXNodeID nodeID; // node FireWire id
- NodeSendItemPtr pTxItemList; // list of items to send
- MyTMTaskPtr pReplyTimer; // timer record for waiting for reply
- Str32 nodeName; // macintosh name of node
- };
-
- typedef struct WindowData WindowData,
- *WindowDataPtr;
- struct WindowData
- {
- ControlHandle hVScrollBar; // vertical scroll bar
- ControlHandle hHScrollBar; // horizontal scroll bar
- OpenNodePtr pOpenNodeList; // points to first open node
- SInt32 numOpenNodes; // keeps count of opened nodes
- RecvNodePtr pRecvNodeList; // points to first node with fwix running
- SInt32 numRecvNodes; // keeps count of nodes
- SInt32 windowView; // large or small icon
- };
-
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif